U.S. Pat. No. 5,657,473 discloses a method and apparatus particularly concerned with the detection and containment of hostile programs such as “virus” programs within computer systems, said method including dividing the information stored on the storage medium into a plurality of non-overlapping partitions, including a boot partition and a plurality of general partitions, each of the partitions being further divided into a plurality of sectors, any designated subset of the general  partitions being active at any given time when the computer system is in use,    said invention employing a supervising means (a Supervisor) separate of the central processing unit (CPU)    allowing/restricting/prohibiting read/write operations upon the storage medium depending on whether information to be read from a sector or written to a sector is in the boot partition, or in a general partition, and whether the partition is active or inactive, and    said supervising means also allowing a format operation only on a partition which is active and prohibiting a format operation on the boot partition, or on a general partition if it is inactive.
The described invention preferably uses a second processor which is made inaccessible to the user and to the virus, supervising all data transfers between and within sub-divisions of the device or devices placed under its control.
The Patent Application-describes, as an example, an embodiment comprising a printed circuit board assembly containing a dedicated micro-controller, used in place of the hard disk controller within the computer system.
EP 0 800 135 A1 discloses a method and apparatus for controlling access to and modification of information stored on a storage medium forming part of a computer system, said invention including by reference all aspects of the aforesaid invention of U.S. Pat. No. 5,657,473,    said invention designating at least one partition a Write Many Recoverable (WMR) partition wherein, in use, if a write command is issued to overwrite any resident information stored in a/the WMR partition by updated information, the updated information is written on the storage medium in a location other than where any resident information is stored and a pointer to the updated information is stored in a Sector Relocation Table (SRT) so that the updated information can be accessed, as required during the remainder of a (user) session. An alternative method is also described wherein, if a write command is issued to overwrite any resident information stored in a/the WMR partition, prior to undertaking said write command said information is copied and stored elsewhere on the storage medium to be copied back to said WMR partition when required. This could be implemented, for example, by a system reset.
The application describes, as an example, an embodiment comprising a printed circuit board assembly (PCBA) containing a dedicated micro-controller placed in-line between the computer system hard disk drive controller (often embedded within the computer system motherboard) and the hard disk drive.
The method and apparatus in the aforementioned inventions propose the use of a second processor separate from the computer system central processing unit (CPU). Although the aforesaid inventions do not specifically limit their scope to combined hardware and firmware embodiments, both describe in detail embodiments which include a separate printed circuit board assembly, placed between the CPU and the storage medium Such hardware embodiments have the following disadvantages: Such hardware embodiments have an associated cost per unit, which results in a base cost for the invention which must be met irrespective of sales volume;    Such hardware embodiments must be installed within the computer system, generally requiring the computer system case to be removed;    Such hardware embodiments require safety and emission approvals and require a high level of testing to ensure compatibility across the wide spectrum of existing computer systems;    Such hardware embodiments are subject to a level of component failures.